package com.estore.service;

import com.estore.model.Product;
import java.util.Comparator;

/**
 * 一个存放各种商品比较器的工具类
 */
public class ProductSorters {

    /**
     * 按价格升序排序的比较器
     */
    public static final Comparator<Product> BY_PRICE_ASC = new Comparator<Product>() {
        @Override
        public int compare(Product p1, Product p2) {
            return Double.compare(p1.getPrice(), p2.getPrice());
        }
    };

    /**
     * 按价格降序排序的比较器 (使用Lambda表达式，更简洁)
     */
    public static final Comparator<Product> BY_PRICE_DESC = (p1, p2) -> Double.compare(p2.getPrice(), p1.getPrice());

    /**
     * 按库存降序排序的比较器
     */
    public static final Comparator<Product> BY_STOCK_DESC = Comparator.comparingInt(Product::getStock).reversed();
}
